package cpu;

public class SortedAndVisibilityTest {
    /**
     * 问题1：这里没有volatile 可能会导致线程不会马上可见
     */
    private static boolean ready = false;
    private static int number;

    public static void main(String[] args) throws InterruptedException {
        Thread t = new ReaderThread();
        t.start();
        /**
         * 问题2： 这两句代码number = 42；ready=true 可能会乱序执行
         * 那程序就有可能输出0， 这是这种可能性很小
         */
        number = 42;
        ready = true;
        t.join();
    }
    private static class ReaderThread extends Thread{
        @Override
        public void run() {
            while (!ready){
                Thread.yield();
            }
            System.out.println(number);
        }
    }
}
